﻿namespace Point3DProgram
{
    using System;
    using System.Collections.Generic;

    public static class Program
    {
        static void Main()
        {
            Point3D firstPoint = new Point3D(1, 2, 3);
            Point3D secondPoint = new Point3D(-1, -2, -3);
            Console.WriteLine("Point 1 (x;y;z): {0}", firstPoint);
            Console.WriteLine("Point 2 (x;y;z): {0}", secondPoint);
            Console.WriteLine();

            Console.WriteLine("Zero point (x;y;z): {0}", Point3D.Zero);
            Console.WriteLine();

            Console.WriteLine("Distance between {0} and {1} is: {2}", firstPoint, secondPoint, Point3DMath.CalcDistance(firstPoint, secondPoint));
            Console.WriteLine();

            Path path = new Path(new List<Point3D> { firstPoint, secondPoint });
            path.Add(new Point3D(0.5, 5, 55));
            PathStorage.Save(path);
            Console.WriteLine(path);
            Console.WriteLine();

            path.Clear();
            Console.WriteLine(path);
            Console.WriteLine();

            Path path2 = PathStorage.Load();
            Console.WriteLine(path2);
            Console.WriteLine();
        }
    }
}
